home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_b / xmodem.doc < prev    next >
Text File  |  1995-04-22  |  27KB  |  793 lines

  1.  
  2.  
  3.  
  4.                              XMODEM and COMPUSERVE 
  5.  
  6.                                  October, 1984 
  7.  
  8.  
  9.  
  10.                     NOTE:  XMODEM,  like  the  rest  of  the 
  11.                     CompuServe   Information   Service,   is 
  12.                     provided  on  an  "as-is,  as-available" 
  13.                     basis. 
  14.  
  15.  
  16.                              Questions and Answers 
  17.                              --------------------- 
  18.  
  19.           Question: Why doesn't XMODEM work with my PC-Talk program? 
  20.           Answer:   PC-Talk  works   just   fine   with   CompuServe's 
  21.                     implementation of the  XMODEM  protocol,  but  you 
  22.                     need to be running 8 bits / no parity in order for 
  23.                     PC-Talk to do XMODEM. 
  24.           See:      Section 4.2 
  25.  
  26.  
  27.           Question: I download a file using XMODEM, but all I get  are 
  28.                     a bunch of hexidecimal characters (something like: 
  29.                     :1800100AB759CDEF7) What I doing wrong? 
  30.           Answer:   You need to specify that  you  are  downloading  a 
  31.                     binary file, rather than a text file.  You can  do 
  32.                     this by appending a "/type:bin"  in  the  download 
  33.                     command (for example: 
  34.                          dow chess.bin/proto:XMODEM/type:bin ) 
  35.                     or by selecting transfer type 2 (Binary) from  the 
  36.                     download menu. 
  37.           See:      Section 3.2 
  38.  
  39.  
  40.           Question: I download a file using XMODEM, but all I get is a 
  41.                     very short file full of garbage. 
  42.           Answer:   You may be trying to download an ASCII (text) file 
  43.                     as if it were a binary file.  Append "/type:ascii" 
  44.                     to the  filename  in  the  download  command  (for 
  45.                     example: 
  46.                          dow chess.txt/proto:XMODEM/type:ascii 
  47.                     or  select  transfer  type  1  (ASCII)  from   the 
  48.                     download menu. 
  49.           See:      Section 3.2 
  50.  
  51.  
  52.           Question: My   Crosstalk   program   doesn't    work    with 
  53.                     CompuServe's XMODEM! 
  54.           Answer:   Crosstalk XVI 3.4 has some compatibility  problems 
  55.                     with CompuServe, and cannot be used as is.   There 
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                      - 1 - 
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.      XMODEM on CompuServe                                      October 1984 
  72.  
  73.  
  74.                     is a patch  in  the  IBM  PC  Sig's  XA5  database 
  75.                     (called CISXTK.TXT) which  can  be  used  to  make 
  76.                     Crosstalk  work  well  with  CompuServe.    Future 
  77.                     versions  of  Crosstalk  should  work  well   with 
  78.                     CompuServe. 
  79.           See:      Section 4.1 
  80.  
  81.  
  82.           Question: My <fill in the blank>  terminal  program  doesn't 
  83.                     work with CompuServe's XMODEM, but it  works  just 
  84.                     fine with  everybody  else!  What  are  you  doing 
  85.                     wrong???? 
  86.           Answer:   The XMODEM protocol was never  designed  with  the 
  87.                     idea of  communicating  over  a  packet  switching 
  88.                     network to  large  time  sharing  computers.   The 
  89.                     biggest problem  comes  from  the  fact  that  the 
  90.                     network introduces delays between the host and the 
  91.                     micro and that the host may not be able to respond 
  92.                     quickly to the micro's communications. 
  93.  
  94.                     Most terminal programs do  work  with  CompuServe, 
  95.                     and many that do not can be patched to  work  with 
  96.                     CompuServe (e.g., Crosstalk)  by  simply  relaxing 
  97.                     the timing parameters in the program. 
  98.           See:      Section 3.1 
  99.  
  100.           Question: Does  your  XMODEM   implementation   handle   CRC 
  101.                     checking as well as checksumming? 
  102.           Answer:   Yes. 
  103.           See:      Section 2 
  104.  
  105.           Question: Where can  I  find  documentation  on  the  XMODEM 
  106.                     protocol? 
  107.           Answer:   The  closest  thing  to   an   official   document 
  108.                     specifying the XMODEM protocol is  a  small  notes 
  109.                     file Ward Christensen wrote describing  the  basic 
  110.                     protocol.  This file can be found in many  of  the 
  111.                     SIGs on CompuServe. 
  112.           See:      Reference [1]. 
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                                      - 2 - 
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.      XMODEM on CompuServe                                      October 1984 
  138.  
  139.  
  140.  
  141.  
  142.           0.        Abstract 
  143.  
  144.           CompuServe has implemented a version of the XMODEM  protocol 
  145.           that allows most XMODEM users to successfully transfer files 
  146.           securely between their micros and CompuServe's hosts.   This 
  147.           implementation was not and cannot be 100%  faithful  to  the 
  148.           original XMODEM specification (see reference [1]),  and  the 
  149.           differences between micro to micro XMODEM and micro to  host 
  150.           XMODEM has caused some people problems.  The purpose of this 
  151.           short article is to describe, in detail, the  most  frequent 
  152.           problems people have with micro to host XMODEM, and to offer 
  153.           some suggestions on how to overcome these problems. 
  154.  
  155.  
  156.           1.        XMODEM's origins 
  157.  
  158.           The XMODEM (aka MODEM7) protocol was originally  devised  by 
  159.           Ward Christensen as a  protocol  for  communicatons  between 
  160.           microcomputers.  As it was originally devised, the user runs 
  161.           a program called "MODEM", and  dials  up  another  computer. 
  162.           The user then instructs the remote computer to run a program 
  163.           called "XMODEM".  XMODEM  and  MODEM  then  use  the  XMODEM 
  164.           protocol to transfer files between the two computers. 
  165.  
  166.           The XMODEM protocol has several assumptions implicit in  its 
  167.           design, and these assumptions are the source of the problems 
  168.           people have in using XMODEM protocol on CompuServe.  Some of 
  169.           these assumptions are: 
  170.  
  171.                o File lengths are exact multiples of 128 bytes. 
  172.                o Word size is 8 bits on both computers. 
  173.                o Data is transmitted 8 bits, no parity, one stop bit. 
  174.                o Both   computers   are   dedicated   (single    user) 
  175.                  microcomputers. 
  176.                o Both computers are talking  to  each  other  directly 
  177.                  over a phone line. 
  178.  
  179.  
  180.   
  181.          2.      The XMODEM protocol 
  182.  
  183.           The XMODEM protocol is a half duplex protocol --  infomation 
  184.           travels in only one direction at once.  The  basic  protocol 
  185.           works something like this: 
  186.  
  187.                1.  When the receiver is ready to start receiving data, 
  188.                    it  transmits  a  <nak>  (negative  acknowledgment) 
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                      - 3 - 
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.      XMODEM on CompuServe                                      October 1984 
  205.  
  206.  
  207.                    character to the sender, and  continues  to  do  so 
  208.                    every 10 seconds until: 
  209.  
  210.                2.  The sender sends a block.  Each block contains  the 
  211.                    block number (modulo 256), 128 bytes of data, and a 
  212.                    checksum.  Once the block is sent, the sender waits 
  213.                    while: 
  214.  
  215.                3.  The receiver verifies that he  received  the  block 
  216.                    correctly; if the received checksum  matches,  then 
  217.                    the receiver sends  an  <ack>  character,  and  the 
  218.                    sender sends the next 128 bytes of the  file  (step 
  219.                    2).  If the block was not received correctly --  or 
  220.                    if 10 seconds expires before a  complete  block  is 
  221.                    received, the receiver sends a <nak>  character  to 
  222.                    the sender.  When the sender receives a  <nak>,  it 
  223.                    re-transmits the last block. 
  224.  
  225.                4.  St